\hypertarget{classISampleIO}{
\section{\-I\-Sample\-I\-O \-Class \-Reference}
\label{classISampleIO}\index{\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}}
}


{\ttfamily \#include $<$sample\-\_\-io.\-h$>$}

\-Inheritance diagram for \-I\-Sample\-I\-O\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=9.000000cm]{classISampleIO}
\end{center}
\end{figure}
\subsection*{\-Public \-Types}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} \{ \*
\hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44ca34a8a5b01bf314c670c7427b72ba179f}{\-U\-N\-K\-N\-O\-W\-N\-\_\-\-A\-C\-T\-I\-O\-N} =  0, 
\hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44ca94dd3f80b8b47ea47735b117c096c897}{\-N\-O\-\_\-\-A\-C\-T\-I\-O\-N}, 
\hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44ca3279ddc907bab3b5edc827db94b78b85}{\-E\-M\-B\-E\-D}, 
\hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44ca6fbf5c59e67e467e1c91e5a91e0176af}{\-E\-X\-T\-R\-A\-C\-T}, 
\*
\hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44ca4aa4f5ff775e5a8131f22e2833ae724c}{\-I\-N\-T\-E\-R\-L\-E\-A\-V\-E\-D\-\_\-\-E\-M\-B\-E\-D\-\_\-\-E\-X\-T\-R\-A\-C\-T}
 \}
\end{DoxyCompactItemize}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classISampleIO_a985086c7a1f28cbfe8b4a63b406d0d5a}{\-I\-Sample\-I\-O} ()
\item 
virtual \hyperlink{classISampleIO_abe594f33c7c78c506cd9a023da0f7178}{$\sim$\-I\-Sample\-I\-O} ()
\item 
virtual int \hyperlink{classISampleIO_ab8ef7dd9048d0944d3c5f50329e0874d}{init} (\hyperlink{properties__reader_8h_a67847fd00cb49d80dd45f61722eb9a43}{\-C\-Properties\-Reader} $\ast$p\-Config)=0
\item 
virtual int \hyperlink{classISampleIO_a4a3ef7be5c5abba7f9993913380cb14f}{destroy} ()=0
\item 
virtual int \hyperlink{classISampleIO_a5843d1feda7bfffb86dd260a08f5516d}{read} (void $\ast$$\ast$p\-Data, \hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} \&p\-Action, int p\-Timeout=500000)=0
\item 
virtual int \hyperlink{classISampleIO_ae2026aece7114980b715076b45b906f9}{write} (void $\ast$p\-Data, const \hyperlink{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{\-E\-Action} \&p\-Action, int p\-Length)=0
\item 
virtual \hyperlink{structNAudioFormats_1_1SStreamInfo}{\-N\-Audio\-Formats\-::\-S\-Stream\-Info} \hyperlink{classISampleIO_a9e43c9190bd486f654f930aa49af48d1}{get\-Stream\-Info} ()=0
\end{DoxyCompactItemize}
\subsection*{\-Private \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classISampleIO_a57d4719b307a6da7660f75b03c81d033}{\-I\-Sample\-I\-O} (const \hyperlink{classISampleIO}{\-I\-Sample\-I\-O} \&)
\item 
\hyperlink{classISampleIO}{\-I\-Sample\-I\-O} \& \hyperlink{classISampleIO_aa0797a30e4518f23193ec749a9baf339}{operator=} (const \hyperlink{classISampleIO}{\-I\-Sample\-I\-O} \&)
\end{DoxyCompactItemize}


\subsection{\-Member \-Enumeration \-Documentation}
\hypertarget{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}{
\index{\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}!\-E\-Action@{\-E\-Action}}
\index{\-E\-Action@{\-E\-Action}!ISampleIO@{\-I\-Sample\-I\-O}}
\subsubsection[{\-E\-Action}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \-I\-Sample\-I\-O\-::\-E\-Action}}}
\label{classISampleIO_a33f1d3778c9c332648df649a73fdb44c}
\begin{Desc}
\item[\-Enumerator\-: ]\par
\begin{description}
\index{\-U\-N\-K\-N\-O\-W\-N\-\_\-\-A\-C\-T\-I\-O\-N@{\-U\-N\-K\-N\-O\-W\-N\-\_\-\-A\-C\-T\-I\-O\-N}!\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}}\index{\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}!\-U\-N\-K\-N\-O\-W\-N\-\_\-\-A\-C\-T\-I\-O\-N@{\-U\-N\-K\-N\-O\-W\-N\-\_\-\-A\-C\-T\-I\-O\-N}}\item[{\em 
\hypertarget{classISampleIO_a33f1d3778c9c332648df649a73fdb44ca34a8a5b01bf314c670c7427b72ba179f}{
\-U\-N\-K\-N\-O\-W\-N\-\_\-\-A\-C\-T\-I\-O\-N}
\label{classISampleIO_a33f1d3778c9c332648df649a73fdb44ca34a8a5b01bf314c670c7427b72ba179f}
}]\index{\-N\-O\-\_\-\-A\-C\-T\-I\-O\-N@{\-N\-O\-\_\-\-A\-C\-T\-I\-O\-N}!\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}}\index{\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}!\-N\-O\-\_\-\-A\-C\-T\-I\-O\-N@{\-N\-O\-\_\-\-A\-C\-T\-I\-O\-N}}\item[{\em 
\hypertarget{classISampleIO_a33f1d3778c9c332648df649a73fdb44ca94dd3f80b8b47ea47735b117c096c897}{
\-N\-O\-\_\-\-A\-C\-T\-I\-O\-N}
\label{classISampleIO_a33f1d3778c9c332648df649a73fdb44ca94dd3f80b8b47ea47735b117c096c897}
}]\index{\-E\-M\-B\-E\-D@{\-E\-M\-B\-E\-D}!\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}}\index{\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}!\-E\-M\-B\-E\-D@{\-E\-M\-B\-E\-D}}\item[{\em 
\hypertarget{classISampleIO_a33f1d3778c9c332648df649a73fdb44ca3279ddc907bab3b5edc827db94b78b85}{
\-E\-M\-B\-E\-D}
\label{classISampleIO_a33f1d3778c9c332648df649a73fdb44ca3279ddc907bab3b5edc827db94b78b85}
}]\index{\-E\-X\-T\-R\-A\-C\-T@{\-E\-X\-T\-R\-A\-C\-T}!\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}}\index{\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}!\-E\-X\-T\-R\-A\-C\-T@{\-E\-X\-T\-R\-A\-C\-T}}\item[{\em 
\hypertarget{classISampleIO_a33f1d3778c9c332648df649a73fdb44ca6fbf5c59e67e467e1c91e5a91e0176af}{
\-E\-X\-T\-R\-A\-C\-T}
\label{classISampleIO_a33f1d3778c9c332648df649a73fdb44ca6fbf5c59e67e467e1c91e5a91e0176af}
}]\index{\-I\-N\-T\-E\-R\-L\-E\-A\-V\-E\-D\-\_\-\-E\-M\-B\-E\-D\-\_\-\-E\-X\-T\-R\-A\-C\-T@{\-I\-N\-T\-E\-R\-L\-E\-A\-V\-E\-D\-\_\-\-E\-M\-B\-E\-D\-\_\-\-E\-X\-T\-R\-A\-C\-T}!\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}}\index{\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}!\-I\-N\-T\-E\-R\-L\-E\-A\-V\-E\-D\-\_\-\-E\-M\-B\-E\-D\-\_\-\-E\-X\-T\-R\-A\-C\-T@{\-I\-N\-T\-E\-R\-L\-E\-A\-V\-E\-D\-\_\-\-E\-M\-B\-E\-D\-\_\-\-E\-X\-T\-R\-A\-C\-T}}\item[{\em 
\hypertarget{classISampleIO_a33f1d3778c9c332648df649a73fdb44ca4aa4f5ff775e5a8131f22e2833ae724c}{
\-I\-N\-T\-E\-R\-L\-E\-A\-V\-E\-D\-\_\-\-E\-M\-B\-E\-D\-\_\-\-E\-X\-T\-R\-A\-C\-T}
\label{classISampleIO_a33f1d3778c9c332648df649a73fdb44ca4aa4f5ff775e5a8131f22e2833ae724c}
}]\-I\-N\-T\-E\-R\-L\-E\-A\-V\-E\-D\-\_\-\-E\-M\-B\-E\-D\-\_\-\-E\-X\-T\-R\-A\-C\-T will be converted by \hyperlink{classCDeinterleaveIO}{\-C\-Deinterleave\-I\-O} into \-E\-M\-B\-E\-D and \-E\-X\-T\-R\-A\-C\-T. deinterleave = \-Splits one interleaved multichannel audio stream into many mono audio streams. samples are following ordered\-: \-E\-M\-B\-E\-D $|$ \-E\-X\-T\-R\-A\-C\-T $|$ \-E\-M\-B\-E\-D $|$ \-E\-X\-T\-R\-A\-C\-T $|$ ... \end{description}
\end{Desc}



\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classISampleIO_a985086c7a1f28cbfe8b4a63b406d0d5a}{
\index{\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}!\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}}
\index{\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}!ISampleIO@{\-I\-Sample\-I\-O}}
\subsubsection[{\-I\-Sample\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}\-I\-Sample\-I\-O\-::\-I\-Sample\-I\-O (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classISampleIO_a985086c7a1f28cbfe8b4a63b406d0d5a}
\hypertarget{classISampleIO_abe594f33c7c78c506cd9a023da0f7178}{
\index{\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}!$\sim$\-I\-Sample\-I\-O@{$\sim$\-I\-Sample\-I\-O}}
\index{$\sim$\-I\-Sample\-I\-O@{$\sim$\-I\-Sample\-I\-O}!ISampleIO@{\-I\-Sample\-I\-O}}
\subsubsection[{$\sim$\-I\-Sample\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}virtual \-I\-Sample\-I\-O\-::$\sim$\-I\-Sample\-I\-O (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, virtual\mbox{]}}}}
\label{classISampleIO_abe594f33c7c78c506cd9a023da0f7178}
\hypertarget{classISampleIO_a57d4719b307a6da7660f75b03c81d033}{
\index{\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}!\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}}
\index{\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}!ISampleIO@{\-I\-Sample\-I\-O}}
\subsubsection[{\-I\-Sample\-I\-O}]{\setlength{\rightskip}{0pt plus 5cm}\-I\-Sample\-I\-O\-::\-I\-Sample\-I\-O (
\begin{DoxyParamCaption}
\item[{const {\bf \-I\-Sample\-I\-O} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classISampleIO_a57d4719b307a6da7660f75b03c81d033}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classISampleIO_a4a3ef7be5c5abba7f9993913380cb14f}{
\index{\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}!destroy@{destroy}}
\index{destroy@{destroy}!ISampleIO@{\-I\-Sample\-I\-O}}
\subsubsection[{destroy}]{\setlength{\rightskip}{0pt plus 5cm}virtual int \-I\-Sample\-I\-O\-::destroy (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classISampleIO_a4a3ef7be5c5abba7f9993913380cb14f}


\-Implemented in \hyperlink{classCRoutingIO_a20339035ba21f1bb9fc702a75d3735f5}{\-C\-Routing\-I\-O}, \hyperlink{classCWaveIO_a87e3fbd7fa9ba9555c72a5aade4494b4}{\-C\-Wave\-I\-O}, \hyperlink{classCOriginalModifiedIO_a7ca7fe1225d88f76f95d0def84f8c26b}{\-C\-Original\-Modified\-I\-O}, \hyperlink{classCPulseAudioIO_a41f9f94d6940a71fde5ce02496352a27}{\-C\-Pulse\-Audio\-I\-O}, \hyperlink{classCAlsaIO_a75136c89effa2d17df301c34b558b6b3}{\-C\-Alsa\-I\-O}, \hyperlink{classCSocketIO_a0a7a581185616277f6c2aaf815535bf4}{\-C\-Socket\-I\-O}, \hyperlink{classCCombinationIO_a11a6c73563adff523cfa7c6863a67061}{\-C\-Combination\-I\-O}, and \hyperlink{classCDeinterleaveIO_a33a24a1699f9e0445378ae08da46176f}{\-C\-Deinterleave\-I\-O}.

\hypertarget{classISampleIO_a9e43c9190bd486f654f930aa49af48d1}{
\index{\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}!get\-Stream\-Info@{get\-Stream\-Info}}
\index{get\-Stream\-Info@{get\-Stream\-Info}!ISampleIO@{\-I\-Sample\-I\-O}}
\subsubsection[{get\-Stream\-Info}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf \-N\-Audio\-Formats\-::\-S\-Stream\-Info} \-I\-Sample\-I\-O\-::get\-Stream\-Info (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classISampleIO_a9e43c9190bd486f654f930aa49af48d1}


\-Implemented in \hyperlink{classCRoutingIO_a24140ba9720341e1187a726234afb4b4}{\-C\-Routing\-I\-O}, \hyperlink{classCWaveIO_a32288b446b36daf22a72ac1bdc4bb772}{\-C\-Wave\-I\-O}, \hyperlink{classCOriginalModifiedIO_a9ac81c38e8d90cb2e01a24d27adef5b4}{\-C\-Original\-Modified\-I\-O}, \hyperlink{classCPulseAudioIO_aca9462dd9658c52e384d312606559a8d}{\-C\-Pulse\-Audio\-I\-O}, \hyperlink{classCAlsaIO_ae2cd7fa1bdeaf8dc4e026fdeda3b62b4}{\-C\-Alsa\-I\-O}, \hyperlink{classCSocketIO_a87e070962dc27f080ff1d4f9742e7e1d}{\-C\-Socket\-I\-O}, \hyperlink{classCCombinationIO_ab8d6d2fba0bc1942d629032995f6911d}{\-C\-Combination\-I\-O}, and \hyperlink{classCDeinterleaveIO_a2d0a59d26e3d29651fad5f1f60b56dd2}{\-C\-Deinterleave\-I\-O}.

\hypertarget{classISampleIO_ab8ef7dd9048d0944d3c5f50329e0874d}{
\index{\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}!init@{init}}
\index{init@{init}!ISampleIO@{\-I\-Sample\-I\-O}}
\subsubsection[{init}]{\setlength{\rightskip}{0pt plus 5cm}virtual int \-I\-Sample\-I\-O\-::init (
\begin{DoxyParamCaption}
\item[{{\bf \-C\-Properties\-Reader} $\ast$}]{p\-Config}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classISampleIO_ab8ef7dd9048d0944d3c5f50329e0874d}
\begin{DoxyNote}{\-Note}
\-The instance of the properties reader will be freed (delete) by the main programm and is not allowed by the deconstructor of an inherit \-I\-O class.
\end{DoxyNote}

\begin{DoxyParams}{\-Parameters}
{\em p\-Config} & pointer to the properties reader \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
0 on success, -\/1 otherwise 
\end{DoxyReturn}


\-Implemented in \hyperlink{classCRoutingIO_a865aedbbcac06e49b20836627231fd1c}{\-C\-Routing\-I\-O}, \hyperlink{classCWaveIO_aaa8e7eb8813f388fca7ca70205105d03}{\-C\-Wave\-I\-O}, \hyperlink{classCOriginalModifiedIO_a044c4913c7da4b5abcaaa49c739919bd}{\-C\-Original\-Modified\-I\-O}, \hyperlink{classCPulseAudioIO_a97ada1fd9b0e5e36344699ece7ab912d}{\-C\-Pulse\-Audio\-I\-O}, \hyperlink{classCAlsaIO_a38e4b858c7ca52ed729cac95f7591643}{\-C\-Alsa\-I\-O}, \hyperlink{classCSocketIO_a9349696a29eb51ea6913db3d92278941}{\-C\-Socket\-I\-O}, \hyperlink{classCCombinationIO_a0155abeb6b2f6153ebfc43792c577b26}{\-C\-Combination\-I\-O}, and \hyperlink{classCDeinterleaveIO_af72fd92e403d64e0c5a6a1b0b6854e40}{\-C\-Deinterleave\-I\-O}.

\hypertarget{classISampleIO_aa0797a30e4518f23193ec749a9baf339}{
\index{\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}!operator=@{operator=}}
\index{operator=@{operator=}!ISampleIO@{\-I\-Sample\-I\-O}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-I\-Sample\-I\-O}\& \-I\-Sample\-I\-O\-::operator= (
\begin{DoxyParamCaption}
\item[{const {\bf \-I\-Sample\-I\-O} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classISampleIO_aa0797a30e4518f23193ec749a9baf339}
\hypertarget{classISampleIO_a5843d1feda7bfffb86dd260a08f5516d}{
\index{\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}!read@{read}}
\index{read@{read}!ISampleIO@{\-I\-Sample\-I\-O}}
\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}virtual int \-I\-Sample\-I\-O\-::read (
\begin{DoxyParamCaption}
\item[{void $\ast$$\ast$}]{p\-Data, }
\item[{{\bf \-E\-Action} \&}]{p\-Action, }
\item[{int}]{p\-Timeout = {\ttfamily 500000}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classISampleIO_a5843d1feda7bfffb86dd260a08f5516d}

\begin{DoxyParams}{\-Parameters}
{\em p\-Data} & \-Array of bytes, read from media. \-The buffer for data will be provided by the read method. \-Therefore a void$\ast$$\ast$ and not a void$\ast$ is needed. \\
\hline
{\em p\-Action} & displays what has to be done, it also enables the direction from which data came from \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
number of bytes read, 0 for \-E\-O\-F and -\/1 for a timeout or an error 
\end{DoxyReturn}


\-Implemented in \hyperlink{classCRoutingIO_a375aa37b0805387ed610d23c3e1d031f}{\-C\-Routing\-I\-O}, \hyperlink{classCWaveIO_aa510ff6ab283ba7ce92e8405b5aed505}{\-C\-Wave\-I\-O}, \hyperlink{classCOriginalModifiedIO_aafdc9b76b6e7a6d21bdde17690325f6e}{\-C\-Original\-Modified\-I\-O}, \hyperlink{classCPulseAudioIO_a53f27db815744617a085f466693763ed}{\-C\-Pulse\-Audio\-I\-O}, \hyperlink{classCSocketIO_a6833b052f4210d42347426aacfbbbec8}{\-C\-Socket\-I\-O}, and \hyperlink{classCCombinationIO_a0926c69c58cd37780e4a7bde9ccfca6f}{\-C\-Combination\-I\-O}.

\hypertarget{classISampleIO_ae2026aece7114980b715076b45b906f9}{
\index{\-I\-Sample\-I\-O@{\-I\-Sample\-I\-O}!write@{write}}
\index{write@{write}!ISampleIO@{\-I\-Sample\-I\-O}}
\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}virtual int \-I\-Sample\-I\-O\-::write (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{p\-Data, }
\item[{const {\bf \-E\-Action} \&}]{p\-Action, }
\item[{int}]{p\-Length}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classISampleIO_ae2026aece7114980b715076b45b906f9}

\begin{DoxyParams}{\-Parameters}
{\em p\-Data} & \-Address of the \-Buffer which will be written to the media. \\
\hline
{\em p\-Action} & displays what has to be done, it also enables the direction from which data came from \\
\hline
{\em p\-Length} & \-Length/\-Size of the buffer (unit\-: byte) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
number of bytes written or -\/1 for an error 
\end{DoxyReturn}


\-Implemented in \hyperlink{classCRoutingIO_a6c1ddd2b9e0b4e48f6832cb6247c1135}{\-C\-Routing\-I\-O}, \hyperlink{classCWaveIO_a142ebb8a033f2ffc6f733c70a26ec7d0}{\-C\-Wave\-I\-O}, \hyperlink{classCOriginalModifiedIO_a6417dd62493ee126071cac8a02564675}{\-C\-Original\-Modified\-I\-O}, \hyperlink{classCPulseAudioIO_aaadbf39f26d049651660973359ed9d31}{\-C\-Pulse\-Audio\-I\-O}, \hyperlink{classCSocketIO_a982ff25e4c3a1cea4a2b23ad323a7a3c}{\-C\-Socket\-I\-O}, and \hyperlink{classCCombinationIO_a0bd3758c2cfbcd82fc46f15932db414f}{\-C\-Combination\-I\-O}.



\-The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
\hyperlink{sample__io_8h}{sample\-\_\-io.\-h}\end{DoxyCompactItemize}
